System and method for managing application

ABSTRACT

The present invention relates to a system and method for managing an application wherein a function of a controlled device can be dynamically extended by continually updating the application for use in the controlled device. According to the present invention, a framework capable of providing integrated support to a variety of home network middleware is loaded on an application server corresponding to a control device, and Internet access services and middleware services for accessing various kinds of devices are bundled into the framework. Thus, application installation and management can be performed within a home network environment regardless of the hardware, network protocol and operating system used.

BACKGROUND OF THE INVENTION

[0001] 1. Field of the Invention

[0002] The present invention relates to a system and a method formanaging an application or software component for use in a device to becontrolled in a home network environment, and more particularly, to asystem and a method for managing an application wherein a function of adevice to be controlled can be dynamically extended by continuallyupdating the application for use in the appliance. The presentapplication is based on Korean Patent Application No. 2003-0000058,which is incorporated herein by reference.

[0003] 2. Description of the Related Art

[0004] A home network system is a system for connecting and controllingPCs, peripheral equipment, mobile phones, electric home appliances, andthe like through one network. A proposed method to configure the homenetwork system is such that a common virtual computer environment calledmiddleware is built into home appliances, and applications are providedfor the appliances. Here, the middleware is capable of communicatingbetween appliances in a home network. The currently available middlewareincludes home AV interoperability (HAVi), universal plug and play(UPnP), Jini, home wide web (HWW), and the like.

[0005] However, as functions of appliances improve and become morecomplicated, the need to install the latest application in addition tothe application already installed upon purchase thereof has increased.For example, if a TV can support a high-quality sound format (e.g.,surround sound, stereo, etc.) but a poor tuner cannot support thehigh-quality format, the high-quality format cannot be used.

[0006] According to such a trend, technologies for providing newapplications for use in controlled devices have developed. For example,Korean Patent Application No. 2000-7007449 (of which the title ofinvention is a method and system related an audio/video network)discloses a method capable of supporting a more superior performancethrough a device driver updated in such a manner that the device driveris updated when the appliance to be controlled is connected with thehome network system.

[0007]FIGS. 1 and 2 are diagrams illustrating a method of installing aconventional application, and illustrate a method of installing theapplication in an HAVi home network system in which a control device,i.e. full AV device (FAV), capable of installing and executing theapplication based on the IEEE 1394 and a controlled device, i.e. base AVdevice (BAV), are connected with each other.

[0008] Here, the IEEE 1394 is a high-speed serial bus (interface) forconnecting several appliances in the home with one another, and a devicecontrol module (DCM) is a software component for controlling theappliance to be controlled, i.e. an application programming interface(API) needed when a user intends to use a function of a device. Inparticular, the DCM is obtained by installing a bytecode of the DCM andshould exist in the FAV in order to control the device. Further, thebytecode of the DCM may reside in the BAV or exist at other locations,e.g. at a file server on the Internet.

[0009] As shown in FIG. 1, in a case where a bytecode 121 of a DCMresides in a BAV 120, an FAV 110 causes the bytecode 121 of the DCM tobe loaded from a memory of the BAV 120 and the loaded bytecode to beinstalled therein, when the BAV 120 is connected with the home networksystem. Alternatively, as shown in FIG. 2, in a case where a bytecode231 of a DCM resides in a file server 230, an FAV 210 causes a URL ofthe DCM to be read from a memory of a BAV 120 and then causes the readbytecode 231 to be loaded from the file server 230 and the loadedbytecode to be installed therein, when the BAV 220 is connected with thehome network system.

[0010] However, such an application installation method is restrictivelyapplied to the HAVi home network based on the IEEE 1394 technique,because it can be executed only with the IEEE 1394 for supporting a hotplugand-play. Further, since it is determined that the FAV shouldinstall and manage the application, there is a problem in that a largeload is imposed on the FAV due to operations of installing and managingthe applications for the several BAVs connected with the home network.

[0011] Furthermore, since the FAV is configured to install the DCM onlyonce upon initial connection of the BAVs with the home network, there isanother problem in that it is difficult to provide continual applicationupdate services.

SUMMARY

[0012] Accordingly, the present invention is contemplated to solve theabove problems in the prior art. An object of the present invention isto provide a system and method for managing an application which can beindependently operated in a home network environment.

[0013] Another object of the present invention is to provide a systemand method for managing an application, wherein a function of acontrolled device can be dynamically extended by allowing a controldevice and the controlled device to control installation and managementof the application and continually updating the application for use inthe controlled device.

[0014] According to an aspect of the present invention for accomplishingthe objects, there is provided an application management systemcomprising a plurality of controlled devices and an application server,wherein the application server performs the installation and managementof applications for the controlled devices by using a framework capableof providing integrated support to a variety of home network middleware.

[0015] Further, the application management system of the presentinvention may comprise an application server loaded with a frameworkcapable of providing integrated support to a variety of home networkmiddleware, and the controlled devices which control the applicationserver and perform installation and management of applications for thecontrolled devices.

[0016] Furthermore, the home network middleware may be elected from agroup consisting of HAVi, UPnP, Jini and HWW.

[0017] Preferably, the framework is an OSGi framework.

[0018] More preferably, the framework provides Internet access servicesand home network middleware services.

DESCRIPTION

[0019] The above and other objects and features of the present inventionwill become apparent from the following description of preferredembodiments given in conjunction with the accompanying drawings, inwhich:

[0020]FIGS. 1 and 2 are diagrams illustrating a method for installing anapplication according to a prior art;

[0021]FIG. 3 is a diagram illustrating a schematic configuration of asystem for managing an application according to a first embodiment ofthe present invention;

[0022]FIG. 4 is a diagram illustrating an actual configuration of thesystem for managing an application according to the first embodiment ofthe present invention;

[0023]FIG. 5 is a diagram illustrating a schematic configuration of asystem for managing an application according to a second embodiment ofthe present invention;

[0024]FIG. 6 is a diagram illustrating an actual configuration of thesystem for managing an application according to the second embodiment ofthe present invention;

[0025]FIG. 7 is a flowchart illustrating the method for managing theapplication according to the first embodiment of the present invention;and

[0026]FIG. 8 is a flowchart illustrating the method for managing theapplication according to the second embodiment of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

[0027] Hereinafter, preferred embodiments of the present invention willbe described with reference to the accompanying drawings.

[0028] In the present invention, the configuration of an applicationmanagement system may vary according to which one of a control deviceand a controlled device can manage the application. More specifically,the application management system of the present invention may bedivided into two types: a pull mode in which the application server(control device) becomes a subject of management and performs theapplication installation and management, and a push mode in which thecontrolled device becomes a subject of management and performs theapplication installation and management.

[0029] First, the application management system in the pull mode inwhich the application server becomes the subject of management andperforms the application installation and management will be explainedwith reference to FIG. 3.

[0030]FIG. 3 is a diagram illustrating a schematic configuration of anapplication management system according to a first embodiment of thepresent invention. As shown in the figure, the application managementsystem 300 comprises an application server 310, a controlled device 320and a file server 330. The application server 310 and the controlleddevice 320 are connected with each other through a home network 340.

[0031] The application server 310 includes a home network middlewaremodule 311 for communicating with the controlled device 320, anapplication loader module 312 for downloading an application file 331from the file server 330, and an application management module 314 forcontrolling operations of the home network middleware module 311 and theapplication loader module 312. An open service gateway initiative (OSGi)framework 313 is loaded on the application server 310, and the homenetwork middleware module 311 and the application loader module 312 arebundled into the OSGi framework 311.

[0032] Here, the reason that the OSGi framework 313 is loaded on theapplication server 310 and the home network middleware module 311 andthe application loader module 312 are bundled into the OSGi framework311 is that an independent home network system can be implemented into amiddleware. Hereinafter, for better understanding of the presentinvention, the OSGi framework will be more specifically described.

[0033] The home network system for configuring a digital network in thehome is based on a variety of application fields and livingenvironments. Thus, several limitations are accompanied whenimplementing the home network system.

[0034] That is, in the home network system, various electric homeappliances including information appliances such as computer, printerand fax machine, AV appliances such as TV, audio, video and DVD, andcontrol devices such as light, door lock, air conditioner and washingmachine are complexly connected with one another. Further, the electrichome appliances use different communication media such as power linecommunication (PLC), Ethernet, Bluetooth and IEEE 1394. Thus, in orderto ensure reliability and stability of the home network system, the homenetwork system should be implemented in such a manner that it can becompatible with all the electric home appliances. In other words, thehome network system should be implemented independently of themiddleware.

[0035] Accordingly, in the present invention, the OSGi framework 313into which middleware services for accessing various kinds of devicesare bundled is loaded on the application server 310 so that smoothcommunication can be made in the home network environment regardless ofhardware, network protocol, operating system, and the like, whereby ahome network system can be implemented independently of the middleware.

[0036] The OSGi is a specification for dynamic installation andexecution of new services in home network appliances, and providesinterworkability between home network middleware such as UPnP, Jini andLonTalk so that devices using different forms of middleware can bemutually controlled. Since such an OSGi technique is described in detailin a paper “OSGi Service Platform release 2” announced on October of2001 by the OSGi, the detailed description thereof will be omitted.

[0037] Meanwhile, the controlled device 320 includes a home networkmiddleware module 321 for communicating with the application server 310and positional information 322 on the application file to be installed.The application files 331 for all the electric home appliances in thehome are stored in the file server 330.

[0038] That is, when the controlled device 320 is connected with thehome network 340, the application server 310 detects through the homenetwork middleware module 311 that the controlled device 320 has beenconnected, extracts the positional information 322 on the applicationfile to be installed from the controlled device 320 through theapplication loader module 312, and downloads an application file fromthe file server 330 so as to install the relevant application inaccordance with the extracted positional information on the downloadedapplication file.

[0039]FIG. 4 illustrates an actual configuration of an applicationmanagement system implemented in an application server pull mode. Asshown in the figure, the application management system 400 comprises anapplication server 410, a controlled device 420 and a file server 430.Further, the application server 410 and the controlled device 420 areconnected with each other through a home network 440.

[0040] The application server 410 includes a UPnP CP bundle 411 forcontrolling UPnP devices, an HTTP web server bundle 412 for downloadingan application file from the file server 430, and an applicationmanagement module 414 for controlling operations of the UPnP CP bundle411 and the HTTP web server bundle 412. The UPnP CP bundle 411 and the1=P web server bundle 412 are bundled into an OSGi framework 413.

[0041] The controlled device 420 includes a UPnP CD stack 421 fornotifying its presence to and receiving commands from the applicationserver 410, and a device description 422 for driving the controlleddevice 402. Positional information 423 (e.g., URL information ondrivers) is stored in the device description 422.

[0042] Here, the UPnP corresponds to an extended version of theplug-and-play concept for connecting a conventional PC and peripheralequipment, and is a software technology by which all devices as well asPC peripheral equipment can be configured into a single network withoutadditional settings as soon as they are installed. The UPnP devices maybe logically divided into a control point (CP) corresponding to a clientthat directly uses the services according to roles in the home networkand a controlled device (CD) corresponding to a device or softwarecapable of communicating with the CP. In such a case, the party thatfirst requested the service acts as the CP, whereas the other party actsas the CD. The CP searches for UPnP devices on the UPnP network, orreceives event messages generated when the UPnP devices are newlyconnected with or disconnected from the network.

[0043] That is, when the controlled device 420 is connected with thehome network, the application management module 414 of the applicationserver 410 extracts the positional information 423 on the applicationfile to be installed from the controlled device 420 through the UPnP CPbundle 411 and downloads the application file 431 from the file server430 through the HTTP web server bundle 412 so as to install the relevantapplication. A method of causing the application server 410 to performthe application installation and management will be later described indetail with reference to FIG. 7.

[0044] In the meantime, the application management system may beimplemented in the controlled device push mode in addition to anapplication server pull mode. Hereinafter, an application managementsystem implemented in the controlled device push mode will be explainedwith reference to FIG. 5.

[0045]FIG. 5 is a diagram illustrating a schematic configuration of anapplication management system according to a second embodiment of thepresent invention. As shown in the figure, the application managementsystem 500 implemented in the controlled device push mode is configuredin such a manner that a controlled device 520 includes an applicationmanagement module 522 and an application server 510 includes anapplication platform service module 514, contrary to that implemented inthe application server pull mode.

[0046] When the controlled device 520 is connected with a home network540, the application management module 522 of the controlled device 520controls the application platform service module 514 of the applicationserver 510, and thus, installs a new application or continuously managesthe installed application. This process will be described in detail, asfollows.

[0047] In a case where it is necessary to install a new application, theapplication management module 522 determines the location where therelevant application will be downloaded, and then requests theapplication platform service module 514 to install the necessaryapplication. In response to this request, the application platformservice module 514 controls an application loader module 512 to downloadan application file 531 for the home appliance from a file server 531,and then, causes the application for the controlled device 520 to beinstalled by executing the downloaded application file.

[0048] Further, in a case where it is necessary to delete or update analready installed application, the application management module 522requests the application platform service module 514 to delete or updatethe application. In response to this request, the application platformservice module 514 deletes or updates the relevant application from orin the application server 510, and then, notifies the controlled device520 of the execution result.

[0049]FIG. 6 illustrates an actual configuration of an applicationmanagement system implemented in a controlled device push mode.

[0050] An application server 610 includes a UPnP CD bundle 611 fornotifying its presence to and receiving commands from a controlleddevice 620, an HTTP web server bundle 612 for downloading an applicationfile 631 from a file server 630, and an application platform servicemodule 614 for installing and managing the application under the controlof the controlled device 620. Here, the UPnP CD bundle 611 and the HTTPweb server bundle 612 are bundled into an OSGi framework 613.

[0051] The controlled device 620 includes a UPnP CP stack 621 fortransmitting control commands related to application management to theapplication server 610, and an application management module 622 forcontrolling a general operation related to application management. Amethod of managing the application in the controlled device push modewill be later described in detail with reference to FIG. 8.

[0052] Hereinafter, the method of managing the application according tothe present invention will be explained in detail with reference to theaccompanying drawings.

[0053] First, the method of managing the application in the pull mode inwhich the application server becomes the subject of management andperforms the application installation and management will be explainedwith reference to FIG. 7.

[0054]FIG. 7 is a flowchart illustrating the method for managing theapplication in the application server pull mode. For a betterunderstanding of the present invention, the method of managing theapplication according to the application server pull mode will behereinafter explained more specifically with reference to the homenetwork system, for example, configured as in FIG. 4.

[0055] When the controlled device 420 is connected with the home network440, the UPnP CP bundle 411 in the application server 410 detects thatthe controlled device 420 has been connected to the home network, andthen, notifies the application management module 414 of the presence ofthe controlled device 420 through an event mechanism (S710).

[0056] Then, the UPnP CP bundle 411 analyzes the device description 422of the controlled device, extracts the positional information 423 (e.g.,the URL information on the drivers), and transmits the extractedinformation to the application management module 414 (S720).

[0057] Next, the application management module 414 controls the HTTP webserver bundle 412 and downloads the application file 431 for thecontrolled device 420 from the file server 430 in accordance with thepositional information 423 on the application file input from the UPnPCP bundle 411 (S730). After the download has been completed, theapplication management module 414 executes the downloaded applicationfile 431 to install the relevant application (S740).

[0058] Thereafter, the application management module 414 controls thecontrolled device in response to the installed application (S750). Forexample, the application management module can perform operations ofusing a printout function or turning off an audio in a TV with anapplication platform service function.

[0059] Now, the method of managing the application in the push mode inwhich the controlled device becomes the subject of management andperforms the application installation and management will be explainedwith reference to FIG. 8.

[0060]FIG. 8 is a flowchart illustrating the method for managing theapplication in the controlled device push mode. For better understandingof the present invention, the method of managing the applicationaccording to the application server pull mode will be hereinafterexplained more specifically with reference to the home network system,for example, configured as in FIG. 6.

[0061] When a controlled device 620 is connected with the home network640, the UPnP CP stack 621 of the controlled device 620 searches throughcommunication with the UPnP CD bundle 611 of the application server 610to determine whether the application server 610 with the applicationplatform service module 614 is connected with the home network 640(S810).

[0062] At this time, if the application server 610 with the applicationplatform service module 614 is connected with the home network 640, theUPnP CP stack 621 of the controlled device 620 notifies the applicationmanagement module 622 of the presence of the application server 610through the event mechanism.

[0063] Then, the application management module 622 of the controlleddevice 620 judges whether a new application should be installed (S820).If a new application should be installed, the application managementmodule determines the download location of the relevant application andrequests the application platform service module 614 to install thenecessary application (S830).

[0064] Thereafter, in response to the requested commands for installingthe relevant application, the application platform service module 614controls the HTTP web server bundle 612 and downloads the applicationfile from the file server (S840). After the download has been completed,the application platform service module 614 executes the downloadedapplication file to install the relevant application (850).

[0065] If the application is installed in the application server 610according to a control process of the controlled device 620, theapplication management module 622 of the controlled device 620 controlsthe controlled device 620 connected with the home network 640 throughthe installed application (S860).

[0066] On the other hand, in a case where it is necessary to delete orupdate an already installed application, the application managementmodule 622 requests the application platform service module 614 todelete or update the relevant application. In response to the request,the application platform service module 614 performs the operations ofdeleting or updating the relevant application and then notifies thecontrolled device 620 of the execution result. (S870 and S880)

[0067] As described above, according to the present invention, theapplication installation and management for the controlled device can bemade regardless of the kinds of middleware within the home networkenvironment. Thus, the function of controlled device can be dynamicallyextended through the continual update of applications for the controlleddevice.

[0068] Further, both the application server and the controlled devicecan perform the application installation and management. Thus, theapplication management can be performed more efficiently by using eitherthe application server pull mode to be used for electric home appliancesthat have poor operation capabilities or need no additional upgradeservices, or the controlled device push mode to be used for electrichome appliances that have good operation capabilities and need variousand continuous application upgrade services.

[0069] Although the present invention has been described in connectionwith the preferred embodiments shown in the drawings, they are mereexamples of the present invention. It will be understood by thoseskilled in the art that various modifications, changes and equivalentsthereof can be made within the scope and spirit of the presentinvention.

[0070] For example, it has been described in the preferred embodimentsthat the file server is connected with the application server throughthe Internet network. However, the location where the application filesare stored may vary according to the services supported by theapplication loader module.

[0071] Further, it has been described in the embodiments that theapplication for the controlled device is installed when the controlleddevice is connected. However, it can be changed when the application isinstalled.

[0072] Furthermore, it has been described in the embodiments that theUPnP is an example of the middleware for communicating between thedevices. However, the present invention is not limited thereto, andmiddleware such as Jini, CORBA and DCOM may be employed in the presentinvention.

[0073] Moreover, in the embodiments of the present invention,Java-related platforms such as OSGi and Java Beans and technologies forloading operating systems such as Microsoft Windows and Linux can beemployed as the application installation technologies.

[0074] Accordingly, the true technical scope and spirit of the presentinvention should be defined by the appended claims.

[0075] As described above, according to the present invention, there isan advantage in that the functions of the electric home appliances canbe dynamically extended in the home network environment since anapplication management system operable independently of the home networkmiddleware can be implemented.

[0076] Further, according to the present invention, the services forcontinuously updating the application or providing the applicationsuitable to the characteristics of the home network can be provided, andthe controlled devices can also install new applications or managealready installed applications even though the controlling appliance hasbeen implemented to provide simple functions. Therefore, there is alsoanother advantage in that resources can be efficiently utilized.

What is claimed is:
 1. An application management system comprising: aplurality of controlled devices; and an application server performingthe installation and management of applications for the plurality of thecontrolled devices by using a framework capable of providing integratedsupport to a variety of home network middleware.
 2. The applicationmanagement system as claimed in claim 1, wherein the home networkmiddleware is selected from a group consisting of HAVi, UPnP, Jini andHWW.
 3. The application management system as claimed in claim 1, whereinthe framework is an OSGi framework.
 4. The application management systemas claimed in claim 1, wherein each of the controlled devices includes ahome network middleware module for communicating with the applicationserver.
 5. The application management system as claimed in claim 1,wherein each of the controlled devices includes positional informationon an application file to be installed, and the application file isstored in a file server on the Internet.
 6. The application managementsystem as claimed in claim 5, wherein the application server extractsthe positional information on the application file from the controlleddevices and downloads the application file from the file server toinstall a relevant application in response to the extracted positionalinformation.
 7. The application management system as claimed in claim 5,wherein the application server includes a home network middleware modulefor communicating with the controlled devices and extracting thepositional information on the application file from the controlleddevices, an application loader module for downloading the applicationfile from the file server in accordance with the extracted positionalinformation on the application file, and an application managementmodule for controlling operations of the home network middleware moduleand the application loader module.
 8. The application management systemas claimed in claim 7, wherein the home network middleware module andthe application loader module are bundled into the framework.
 9. Anapplication management system comprising a plurality of controlleddevices and an application server, wherein: a framework capable ofproviding integrated support to a variety of home network middleware isloaded on the application server; and each of the controlled devicescontrols the application server and performs installation and managementof applications for the controlled devices.
 10. The applicationmanagement system as claimed in claim 9, wherein the home networkmiddleware is selected from a group consisting of HAVi, UPnP, Jini andHWW.
 11. The application management system as claimed in claim 9,wherein the framework is an OSGi framework.
 12. The applicationmanagement system as claimed in claim 9, wherein an application file isstored in a file server on the Internet.
 13. The application managementsystem as claimed in claim 12, wherein the application server includes ahome network middleware module for communicating with the controlleddevices, an application loader module for downloading the applicationfiles from the file server under the control of the controlled device,and an application platform service module for controlling operations ofthe home network middleware module and the application loader moduleunder the control of the controlled device.
 14. The applicationmanagement system as claimed in claim 13, wherein the home networkmiddleware module and the application loader module of the applicationserver are bundled into the framework.
 15. The application managementsystem as claimed in claim 9, wherein each of the controlled devicesincludes a home network middleware module for communicating with theapplication server, and an application management module for installinga new application or managing an already installed application bycontrolling the application server.
 16. The application managementsystem as claimed in claim 15, wherein the application management moduledetermines a location where a new application file is downloaded andthen requests the application server to install the new application. 17.A method for managing an application using an application managementsystem including a plurality of controlled devices and an applicationserver, comprising the steps of: (1) detecting connection of thecontrolled devices with a home network by an application server loadedwith a framework capable of providing integrated support to a variety ofhome network middleware; and (2) installing the application necessaryfor controlling the controlled devices by the application server. 18.The method as claimed in claim 17, wherein the home network middlewareis selected from a group consisting of HAVi, UPnP, Jini and HWW.
 19. Themethod as claimed in claim 17, wherein the framework is an OSGiframework.
 20. The method as claimed in claim 17, wherein the frameworkprovides Internet access services and home network middleware services.21. The method as claimed in claim 17, wherein step (1) comprises thesteps of: extracting positional information on an application filenecessary for controlling the controlled devices, by the applicationserver; downloading the application file from the file server inaccordance with the extracted positional information by the applicationserver; and executing the downloaded application file and installing arelevant application by the application server.
 22. The method asclaimed in claim 21, wherein each of the controlled devices includes thepositional information on the application file, and the application fileis stored in a file server on the Internet.
 23. The method as claimed inclaim 17, further comprising an application management step ofexecuting, stopping, deleting, and updating the application installed inthe application server.
 24. A method for managing an application usingan application management system including a plurality of controlleddevices and an application server, comprising the steps of: (1)searching for the application server with an application platformservice module, by the controlled device; and (2) controlling theapplication server to install the application for the controlleddevices, by the controlled device.
 25. The method as claimed in claim24, wherein the application server is loaded with a framework capable ofproviding integrated support to a variety of home network middleware.26. The method as claimed in claim 25, wherein the home networkmiddleware is selected from a group consisting of HAVi, UPnP, Jini andHWW.
 27. The method as claimed in claim 25, wherein the framework is anOSGi framework.
 28. The method as claimed in claim 25, wherein theframework provides controlled device access services and home networkmiddleware services.
 29. The method as claimed in claim 24, wherein step(2) comprises the steps of: determining whether it is necessary toinstall a new application, by the controlled device; if it is necessaryto install the new application, requesting the application server toinstall the new application, by the controlled device; downloading arelevant application file from a file server according to the requestfor installing the new application; and controlling the applicationserver to install the new application, by the controlled device.
 30. Themethod as claimed in claim 24, further comprising an applicationmanagement step of executing, stopping, deleting, and updating theapplication installed in the application server.